This invention relates to a method of handling logics (planning logics) of planning software which goes through trial and error during preparation of a plan and more particularly to planning support method and system suitable for designing such plans as production plans having a variety of requirements involved, by frequently modifying existing planning software so that the software meets the requirements.
In the following description, a "plan" means procedure and contents of a working which are determined before the working is carried out, "planning software" is a planning program prescribing the procedure necessary for preparing or generating the plan, and a "planning logic" means specifications of the planning software. The planning software will hereinafter be termed a planning program.
In recent years, in designing various plans including production plans, quick designing of a well managed plan complying with a variety of needs has been required.
A planning apparatus conventionally used for preparing plans fetches information necessary for planning from the outside of the apparatus, evaluates the information in accordance with an evaluation function, and generates a plan in which evaluation values are optimized. However, because of the use of a predetermined planning logic (prescribing solving logics necessary for planning), the planning logic can not be modified to comply with situations and an optimum plan can not always be prepared.
There has been proposed in JP-A-No. 62-67669 (published on Mar. 27, 1987) filed in the name of the same assignee of the present application a planning support system in which the contents of a planning logic is divided into frequently modifiable constants and infrequently modifiable logics and these constants and logics are stored in separate files in a planning apparatus, thereby eliminating necessity of compiling the planning logic each time the constants are modified.
There has also been proposed in JP-A-No. 62-109158 (published on May 20, 1987) filed in the name of the same assignee of the present application another planning support system which comprises a process logic storage for storing frequently modifiable process logics of a planning logic and a solving logic storage for storing unmodifiable solving logics, thereby permitting a person in charge to modify the process logics in compliance with a modification being characteristic of a process and thus prepare a plan.
Any of the published literatures, however, fails to take account of preparing a program which is used to efficiently process planning information by fully reflecting the calculation sequence in the computer and memory capacity when a planning logic (especially, process logic) is executed.
In planning material allotment (for allotting a plurality of materials to a plurality of orders in one-to-one correspondence relationship) in a production plan, the cost of allotting a material to each order is calculated and based on a resulting cost matrix, a plan is prepared which is minimized in total cost. In this case, the planning logic is described in terms of a process logic describing calculation formulas for determining costs on the basis of a knowledge of process and a solving logic for effecting optimization calculation based on the cost matrix.
In order to execute the process logic with a computer, the manner of allotting data respresentative of a great number of orders and materials to memories, the manner of inputting/outputting data, the sequence of solving the cost calculation formulas (calculation sequence in the computer) and the designation of repetition in calculating all elements (costs) in the cost matrix are first determined and thereafter a program is prepared.
A first problem encountered in the aforementioned techniques resides in that the manner of memory allotment, the manner of data inputting/outputting, the calculation sequence and the manner of designating the repetition are not taken into consideration and so a knowledge of the computer and much time are required for preparing a program. A second problem of the techniques described hereinbefore is that even when modifying part, excepting constants, of a logic, the conventional compiling processing (checking of grammar throughout the logic and code generation) is needed and in addition, a message indicative of normality of grammar in the partly modified logic can not be outputted before all of the compiling processing (grammar checking, optimization and code generation) have been completed.